Knowledge can be represented using various types of data structures, including graphs. One such graph is known as a semantic network. A semantic network is a directed graph consisting of vertices, which represent concepts, and edges, which represent semantic relations between the concepts.
A semantic network can become unwieldy as it grows.
Tags can be used to represent concepts in the semantic network. Sets of tags, in a visualization known as “tag clouds”, can be used to represent relationships between concepts. Tag clouds are a familiar data visualization device on the Internet. Tag clouds are commonly used to represent tags in a meaningful way, for example to describe to a user the prevalence of tags in blogs and other Internet resources. Properties of words, such as size, weight or colour, may represent properties of the underlying data. A tag cloud may be generated either manually or using computerized means.
FIGS. 1A to 1C illustrate examples of tag clouds. As shown in FIG. 1A, for example, a cloud may comprise several differently sized tags wherein larger tags in the cloud represent a greater (e.g., higher volume) use of the tag in a blog. As shown in FIGS. 1B and 1C, for example, the sizes of the tags may signify the importance of concepts relative to a context, importance being determined by a measure such as frequency of occurrence.
Information may be encoded in tag properties (such as size, weight or colour) but absolute and relative position is virtually meaningless in a tag cloud. The tags are typically single words, which may be ordered alphabetically or otherwise. The words may be aligned on a baseline or arranged in some other way, but this is typically done to conserve space or to obtain different visual effects.
However, these tag clouds are not interactive as they merely represent information graphically without any means for feedback from a user. With a tag cloud there is no means to manipulate the relationships between the tags.
The prior art does not discuss ways in which to present a simple visual representation of a hierarchical or polyhierarchical data structure (such as a taxonomy of terms or a semantic network) so as to enable the average computer user to create, visualize or manipulate the data structure. While manual entry of new concepts and relationships has been contemplated to a limited extent in the prior art, what has not been disclosed in the prior art is the use of a tag cloud to create (i.e., record) concepts and automatically infer relationships to existing concepts represented by the tags. What has also not been disclosed is a convenient way in which to visualize and manipulate relationships between the concepts represented by the tags. In other words, the prior art does not teach using the tag cloud as an input device to create and alter the represented semantic network or other data structure.
U.S. patent application Ser. No. 11/548,894 to Lewis et al. discloses a tag cloud that is presented to a user where each tag can lead to n-layers of relevant information.
U.S. patent application Ser. No. 11/540,628 to Hoskinson discloses a tag cloud that is computer generated in response to a search query. The tags, containing subject representation or labels, are linked to associated websites from where the information for generating the cloud is initially collected.
U.S. patent application Ser. No. 11/533,058 to Blanchard et al. discloses customizing a display of a presented tag cloud. These clouds are customizable in terms of their attributes such as font color, font size, borders, 3D-depth, shadowing, and so on. While changes in all these attributes contribute to visual display of the tags in the tag cloud, there is no corresponding material affect on the information represented by the tag cloud.
None of the above applications discuss ways in which to present a data structure to a user so as to visually represent relationships that may exist between concepts represented by the tags and enable the manipulation of the data structure by the user using the tags.
PCT/US2007/025873 to Lindermann, et al. discloses enabling a user to input, store and output in a graphical user interface concepts expressed as a word or combination of words and relationships between these concepts. The user provides the concepts to a thought engine and specifies the type or nature of relationship between concepts. A user builds and shares the generated semantic network.
Lindermann et al. is directed to enabling users that do not understand structured data to insert the data into the structure. The user inserts the data and the relationships explicitly and, therefore, must learn how the relationships are made. There is no automation provided for establishing relationships based on ways in which the user views the data. While Lindermann et al. discuss a user classifying the types of new relationships, there is no discussion of simple ways in which to establish the relationship with minimal user input. There is also no discussion at all of ways in which to easily manipulate existing relationships between concepts in a semantic network.
Therefore, what is required is a means and method by which to enable the average computer user to create, visualize or manipulate a data structure (particularly a hierarchical, polyhierarchical, associative or equivalence) data structure, using a tag cloud.
Also lacking heretofore is a way for users to interact with each other so that a community can create, visualize and/or manipulate such a data structure using a tag cloud, especially in a way that tracks changes made to the data structure over time, who made each change and when the change was made. A means and method which allows such user interaction would be very useful.